package _9_jvm;

public class OutOfMemory {
    private static final int _1MB = 1024 * 1024;

    public static void main(String[] args) {
        testAllocation();
    }

    /**
     * VM参数： -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8

     内存溢出: 配置为 -Xms8M -Xmx8M -Xmn8M
     溢出时保存dump文件: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:/jvm_sever1.hprof
     */
    public static void testAllocation() {
        byte[] allocation1, allocation2, allocation3, allocation4;
        allocation1 = new byte[2 * _1MB];
        allocation2 = new byte[2 * _1MB];
        allocation3 = new byte[2 * _1MB];
        allocation4 = new byte[4 * _1MB];  // 出现一次 Minor GC
    }
}
